package com.zw.a.basic.a02.demo04_if;

import java.util.Scanner;

//案例: if多分支之 发放奖励.
/*
    测试代码的小技巧, 测试3类值
        1. 正确的值.
        2. 非法值.
        3. 边界值.
 */
public class IfDemo05 {
    public static void main(String[] args) {
        /*
            需求(规则)
               95~100 山地自行车一辆
               90~94 游乐场玩一次
               80~89 变形金刚玩具一个
               80以下 胖揍一顿
         */
        //1. 接收用户录入的成绩.
        System.out.println("请录入小明的成绩: ");
        Scanner sc = new Scanner(System.in);
        int score = sc.nextInt();

        //2. 通过if. else if 实现判断用户录入的成绩, 并发放对应的奖励.
        if (score >= 95 && score <= 100) {
            System.out.println("奖励: 山地自行车一辆");
        } else if (score >= 90 && score < 95) {
            System.out.println("奖励: 游乐场玩一次");
        }else if (score >= 80 && score < 90) {
            System.out.println("奖励: 变形金刚玩具一个");
        }else if (score >= 0 && score < 80) {
            System.out.println("奖励: 男女组合拳一套 + 扫帚棒法");
        } else {
            System.out.println("录入的成绩有误!...");
        }
        System.out.println("----------------------------");

        //优化版
        if(score > 100 || score < 0) {
            System.out.println("录入的成绩有误!...");
        } else if (score >= 95) {                         //else的隐含条件是:  score >= 0 && score <= 100
            System.out.println("奖励: 山地自行车一辆");
        } else if (score >= 90) {                         //else的隐含条件是:  score >= 0 && score < 95
            System.out.println("奖励: 游乐场玩一次");
        }else if (score >= 80) {                         //else的隐含条件是:  score >= 0 && score < 90
            System.out.println("奖励: 变形金刚玩具一个");
        }else{                                          //else的隐含条件是:  score >= 0 && score < 80
            System.out.println("奖励: 男女组合拳一套 + 扫帚棒法");
        }
    }
}
